In software development for embedded devices in recent years, a software simulator for simulating an operation of a system on which software runs is used in order to start software debugging early. By using the software simulator, software debugging can be performed before a hardware test environment of the system including a microcontroller and its peripheral devices is actually completed. The microcontroller is also referred to as a microcomputer or a microprocessor.
For example, a software simulator capable of graphically displaying a state of the peripheral device such as turning on and off of an LED and a state of the microcontroller such as a signal value input/output to a terminal of the microcontroller is known.
When software simulation is executed using this simulator, it is possible to visually recognize changes in the state of the microcontroller and the peripheral devices under simulation with a graphic display.
Patent Literature 1 discloses such a conventional simulator.
The conventional simulator disclosed in Patent Literature 1 operates as follows.
The conventional simulator records an occurrence time of a state change and an update value of the state as trace data during simulation execution and converts the occurrence time included in the trace data into a reproduction time for reproduction after the simulation ends. Then, the conventional simulator reads the trace data and reproduces the state change according to the reproduction time with the graphic display.
Since the conventional simulator can record the trace data and reproduce the state change without re-executing the simulation, the state change can be reproduced at high speed. Further, the conventional simulator can change a speed of reproduction by applying a speed ratio when converting an update time to the reproduction time.
The conventional simulator disclosed in Patent Literature 1 can reproduce the state change in order of time from a start time but cannot display a state at an arbitrary time according to a user's request.
For example, when the user visually recognizes an abnormality of the state at a time when the state change is reproduced for 30 minutes from the start time, the user wants to check the state a little before the time when the abnormality was visually recognized. This is to check whether another abnormality has occurred prior to visually recognizing the abnormality or to check history of the state change until the abnormality occurs. As described above, even when the user wants to check the state 30 minutes after the start time again, the state of any time cannot be displayed by the conventional simulator. Therefore, the user must operate the conventional simulator for 30 minutes. That is, it takes time to check the state again when using the conventional simulator.
Although it is possible to visually check the state change with the conventional simulator, visual check may be difficult in some cases.
It is difficult to detect the state change under a complicated condition, for example, when there are many points which meet conditions the user wants to check, when the condition the user wants to check is a combination of multiple state changes, or when the condition the user wants to check is the state change in a time series.